package org.altervista.cp.thinjdbc.wrappers;

public abstract class ResultSetMetaData extends
		Wrapper<java.sql.ResultSetMetaData> implements
		java.sql.ResultSetMetaData {

	static ResultSetMetaData newInstance(java.sql.ResultSetMetaData rsmd) {
		return _GENERATOR.generate(rsmd);
	}

	public abstract String getCatalogName(int column);

	public abstract String getColumnClassName(int column);

	public abstract int getColumnCount();

	public abstract int getColumnDisplaySize(int column);

	public abstract String getColumnLabel(int column);

	public abstract String getColumnName(int column);

	public abstract int getColumnType(int column);

	public abstract String getColumnTypeName(int column);

	public abstract int getPrecision(int column);

	public abstract int getScale(int column);

	public abstract String getSchemaName(int column);

	public abstract String getTableName(int column);

	public abstract boolean isAutoIncrement(int column);

	public abstract boolean isCaseSensitive(int column);

	public abstract boolean isCurrency(int column);

	public abstract boolean isDefinitelyWritable(int column);

	public abstract int isNullable(int column);

	public abstract boolean isReadOnly(int column);

	public abstract boolean isSearchable(int column);

	public abstract boolean isSigned(int column);

	public abstract boolean isWritable(int column);

	void close() {
		_GENERATOR.release(this);
	}

	private static final _ProxyGenerator<ResultSetMetaData> _GENERATOR = new _ProxyGenerator<ResultSetMetaData>(
			ResultSetMetaData.class);

}
